package com.xtkj.superclub_photo.controller;

import com.xtkj.commons.JsonResult;
import com.xtkj.superclub_photo.service.IPhotoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@RestController
@RequestMapping("/photo")
public class PhotoController {

    @Autowired
    private IPhotoService photoService;

     /*
    查询驴友队下的相册 包括活动相册和用户相册
    * */
     @RequestMapping(value = "/tourPalAlbumList/{teamAlbumId}",method = RequestMethod.GET)
     public JsonResult tourPalAlbumList(@PathVariable("teamAlbumId") String teamAlbumId){
         try {
             return JsonResult.success().setCode(200).setMsg("查询驴友队相册成功").setData(photoService.tourPalAlbumList(teamAlbumId));
         }catch (Exception e){
             e.printStackTrace();
             return JsonResult.error().setCode(500).setMsg(e.getMessage());
         }
     }

    /*
    新建相册，包括驴友队里面的 活动相册 ， 用户相册 ；个人中心里的 游记相册 ， 朋友圈相册 ， 默认相册
    * */

    //新建驴友队活动相册
    @RequestMapping(value = "/newAlBumList",method = RequestMethod.POST)
    public JsonResult newAlBumList(@RequestBody Map<String,Object> albumInfo){

        System.out.println("我进入了。。newTeamActivityAlBum..."+albumInfo.get("Type"));

        try {
            photoService.newAlBumList(albumInfo);
            return JsonResult.success().setCode(200).setMsg("新建驴友队相册成功");
        }catch (Exception e){
            e.printStackTrace();
            return JsonResult.error().setCode(500).setMsg("新建驴友队相册失败-"+e.getMessage());
        }
    }

    //删除相册
    @RequestMapping(value = "/cleanAlBumList",method = RequestMethod.DELETE)
    public JsonResult cleanAlBumList(@RequestParam("oneAlbumId") String oneAlbumId,@RequestParam("Type") String Type){
        try {
            photoService.cleanAlBumList(oneAlbumId,Type);
            return JsonResult.success().setCode(200).setMsg("删除相册成功");
        }catch (Exception e){
            e.printStackTrace();
            return JsonResult.error().setCode(500).setMsg("删除相册失败-"+e.getMessage());
        }
    }


    //添加相片到相册
    /*
    map集合参数： 相册id ： 说明往哪个相册里插入数据 mAlbumId
                 照片路径 ：。。。。 mPhotoUrl
                 相册类型Type ： 说明操作哪种类型的相册 mType
    * */
    @RequestMapping(value = "/addPhotoToAlBum",method = RequestMethod.POST)
    public JsonResult addPhotoToAlBum(@RequestBody Map<String, Object> albumAndPhotoInfo){
        try {
            photoService.addPhotoToAlBum(albumAndPhotoInfo);
            return JsonResult.success().setCode(200).setMsg("添加相片到相册成功");
        }catch (Exception e){
            e.printStackTrace();
            return JsonResult.error().setCode(500).setMsg("添加相片到相册失败-"+e.getMessage());
        }
    }


    //给琪琪调的 , 拿到游记相册id
    @RequestMapping(value = "/getAlbumId/{personalAlbumId}",method = RequestMethod.GET)
    public JsonResult getAlbumId(@PathVariable("personalAlbumId") String personalAlbumId){
        try {
            return JsonResult.success().setCode(200).setMsg("查到游记相册id成功").setData(photoService.getAlbumId(personalAlbumId));
        }catch (Exception e){
            e.printStackTrace();
            return JsonResult.error().setCode(500).setMsg("查到游记相册id失败-"+e.getMessage());
        }

    }

    //从相册中删除照片
    /*
    map集合参数： 相册id ： 说明从哪个相册里删除数据 mAlbumId
                 照片路径id ：。。。。 mPhotoId 是个list集合
                 相册类型Type ： 说明操作哪种类型的相册 mType
    * */
    @RequestMapping(value = "/deletePhotoFromAlbum",method = RequestMethod.DELETE)
    public JsonResult deletePhotoFromAlbum(@RequestBody Map<String, Object> albumAndPhotoInfo){
        try {
            photoService.deletePhotoFromAlbum(albumAndPhotoInfo);
            return JsonResult.success().setCode(200).setMsg("从相册删除相片成功");
        }catch (Exception e){
            e.printStackTrace();
            return JsonResult.error().setCode(500).setMsg("从相册删除相片失败-"+e.getMessage());
        }
    }
}
